package classes;

import java.util.ArrayList;
import java.util.Iterator;

public interface Mascara {

/** METRODOS PARA EL ENCAPSULAMIENTO DE SALIDA DE DATOS **/
	
	
	/**Msg= mensajes a mostrar cuando se termina una accion(sin error) sino va a mostrar algun MEs.**/
	
	
	 void MsgInicioDeCuatrimestre();	
	
	 void MsgRegistracionDeAlumno(String alumno, ArrayList<Carrera> carreras);
	
	 void MsgRegistracionDeAlumno();
	
	 void MsgInscripcionMateria(String alumno, String materia);
	 
	
	 void MsgFinCuatrimestre();

	
	 void MsgInicioCursada();

	
	 void MsgFinCursada();

	
	 void MsgRegistracionDeNotas();

	
	 void msgActaIngresada(long idActaDeFinal);

	
	 void MsgEntregaTitulo(String alumno, String carrera);
	 
	 void msgDepartamentoCreado(String nombre);
	 
	 void msgMateriaAgregada(String psMateria);

	 void msgCarreraCreada(String psCarrera);
	 
	 void msgMateriaAgregadaACarrera(String psMateria);
	 
	 void msgRegCursada(Cursada cursada);
	 
	 void msgPromocionado(String alumno,Final finalp);
	 
	 
	 
	 void MostrarCarreras(ArrayList<Carrera> carreras);
	 
	 void MostrarMaterias(ArrayList<Materia> materias);	 
 
	 void MostrarAlumnos(ArrayList<Alumno> alumnos);
	 
	 void MostrarInscripciones(ArrayList<Inscripcion> inscripciones);


	 
	
	 
	/**ME= Mensaje de ERROR a mostrar cuando este se produzca.**/
	
	 void MeErrorDeLectura();
	 
	 void MeFaltaAlumno(String alumno);
	
	 void MeFaltaAlumno(int matAlumno);
	 
	 void MeMateriaNoEncontrada(String materia);
	
	 void MeCuatrimestreNoInciado();
	
	 void MeCuatrimestreIniciado();
	
	 void MeCuatrimestreFinalizado();
	
	 void MeCuatrimestreNoFinalizado();
	 
	 void MeCuatrimestreNoExiste();
	
	 void MeCursadaNoIniciada();
	
	 void MeCursadaYaIniciada();
	 
	 void MeCursadaIniciada();
	
	 void MeCursadaFinalizada();
	
	 void MeCursadaNoFinalizada();
		
	 void MeMateriaYaCursada(String alumno,String materia);
	 
	 void MeFinalYaAprobado(String nombreYApellido, String nombre);
	
	 void MeCursadaSinAprobar(String nombreYApellido, String nombre);
	
	 void MeIncumplimientoCorrelatividades(String alumno, String materia);
		
	 void MeMateriaNoCorrespondeAlumno(String alumno, String materia) ;
	
	 void MeTituloNoEntregado(String alumno, String carrera);

	 void MeNoEsPeriodoEntreCuatrimestres();
	 
	 void MeNoSeIngresaronCarreras( );
	 
	 void MeCarrerasInvalidas(ArrayList<String> carreras);
	 
	 void MeNingunAlumnoCorrecto();
	 
	 void meAlumnoNoInscripto(String alumno);
	 
	 void meCursadaPreexistente(String alumno);
	 
	 void meMateriaPreexistente(String psMateria);
	 
	 void meDeptoPreexistente(String nombre);
	 
	 void meCarreraNoEncontrada(String psCarrera);
	 
	 void meDeptoNoEncontrado(String nombre);
	 
	 void meCarreraPreexistente(String psCarrera);
	 
	 void meCorrelativaNoExisteEnCarrera(String psMatCorr);

	
	/** METRODOS PARA EL ENCAPSULAMIENTO DE ENTRADA DE DATOS **/
	
	
	/**DATOS PARA MENU**/
	
	 void runMenu();
	
	 void mostrarMenu();
	
	 Integer imputInteger();//para Integers
	 
	 Integer imputIntergerPorRango(int minimo,int maximo);
	 
	 String imputString();
		
	 void realizarOperacion(Integer Comando);

	boolean validarInteger(String texto);
	
	/** DATOS PARA EL CORE **/
	
	
	 String getNombrelumno();
	 
	
	 String getApellidoAlumno();

	
	 ArrayList<String> getDatosCarrera();

	
	 String getMateria();

	
	 void mostrarHistorial (ArrayList<Final> finales);


	 


	
	
}

